草庐IT

SQL Server 游标

全部标签

Android 游标查询计数

我正在开发一个小型应用程序,它从数据库中读取数据并将其显示在一些自定义ListView布局中。我把我所有的鸭子都排成一排,但有一个问题我无法全神贯注,那就是在游标查询中执行计数这是我的代码的一个简单示例privatestaticfinalStringfields[]={"CarYear","CarMake","CarModel","CarInfo",BaseColumns._ID};//BaseColumns._ID以及查询本身Cursordata=database.query("Car060",fields,null,null,null,null,null);所以最大的问题是我如何才

java - SQLite 游标处的 NullPointerException

我在我的GooglePlay控制台中收到了这份崩溃报告。我从来没有在自己的设备和模拟器上遇到过这样的崩溃。Causedby:java.lang.NullPointerException:atandroid.preference.PreferenceManager.getDefaultSharedPreferencesName(PreferenceManager.java:498)atandroid.preference.PreferenceManager.getDefaultSharedPreferences(PreferenceManager.java:487)atDictionar

android - 查询联系人 - 有时会返回空游标

我正在尝试查询联系人的显示名称:@OverridepublicvoidonActivityResult(intrequestCode,intresultCode,Intentdata){switch(requestCode){caseREQ_CODE_PICK_CONTACT:if(resultCode==Activity.RESULT_OK){UricontactUri=data.getData();ContentResolvercr=getActivity().getContentResolver();Cursorc=cr.query(contactUri,null,null,nu

Android:将列添加到已填充的游标

我对是使用MergeCursor还是CursorJoiner感到困惑。我有一个游标(A),其中包含大量数据。假设Cursor(A)中有100行和3列。我想要做的是向Cursor插入(追加)一个新列,因此生成的Cursor(B)有100行但有4列。此刻我希望第4列包含100行的默认值。我该怎么做? 最佳答案 您可以使用Decoratorpattern在这里。为此,Android有CursorWrapper,这是一个...WrapperclassforCursorthatdelegatesallcallstotheactualcurso

android - 游标在调用此方法之前停用

我有一个CursorAdapter,我从onLoadFinished()回调内部交换数据。紧接着,我还需要为多个其他CursorAdapters使用相同的游标(下图仅显示1个)。问题是在游标data被交换到原始CursorAdapter之后,我得到以下错误。如果我稍后在应用程序中从原始CursorAdaptergetCursor(),它可以正常工作而不会出现任何错误。这是为什么?swapCursor()是异步的还是什么?我最初是这么认为的,但是在我尝试将dataCursor直接设置为其他CursorAdapters之后,它仍然让我出错。那么是什么给了?有什么想法吗?@Overridep

java - Android - 游标加载器如何知道底层数据集已更改?

我正在尝试学习Android编程,并且一直在使用UdacitySunshine应用程序。有件事让我很困惑。我有一个执行插入、删除、选择等操作的内容提供程序,我有一个游标加载器,它也是一个fragment,我有一个游标适配器,除了加载器如何知道数据已更改之外,大部分都是有意义的。在内容提供者的更新方法中,它会执行此操作,我假设它是在通知某些数据已更改:if(rowsUpdated!=0){getContext().getContentResolver().notifyChange(uri,null);}加载器在onCreateLoader方法中设置:returnnewCursorLoad

android - 如何在 ListView 中显示游标数据之前对其进行操作(使用加载程序)?

我的SherlockListFragment的每一项都包含3个TextView:一个名称和两个数字。数据来self的数据库的表objective,它具有以下结构:CREATETABLEobjective(_idINTEGERPRIMARYKEY,id_projectINTEGERNOTNULL,activity_codeINTEGERNOTNULL,day_durationINTEGERNOTNULL,week_frequencyINTEGERNOTNULL,FOREIGNKEY(id_project)REFERENCESproject(id_project));此外,我读到应该使用加

android - 在为较早的查询迭代游标的同时执行新的 SQLite 查询是否安全? (安卓)

我调用SQLiteDatabase.query并获得一个Cursor。当我仍在迭代该游标时,从同一线程发出其他查询是否安全? 最佳答案 不能同时在同一张表上执行两个查询。它是内置的同步方法,所以一次只会执行一个查询。您的第二个查询将处于等待状态,直到第一个完成执行。 关于android-在为较早的查询迭代游标的同时执行新的SQLite查询是否安全?(安卓),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

android - 修改android中的游标列值

我有一个从SQLiteDataBase对象返回的Cursor。我可以使用getXXX()从游标中获取列的内容,但在我的例子中,我想使用setXXX()方法修改游标中的“更新”数据。我知道没有setXXX()方法,但CursorWindow对象具有此功能。但是,我似乎无法使用它。 最佳答案 您无法更改光标。您可以做的是更新您的数据库,然后使用reQuery()方法。//codetoupdateyourdbcursor.requery();编辑进一步的研究表明我显然是不正确的。你可以做你想做的事,但这是相当多的工作(不,我没有尝试过,我

Android,检测整个项目中打开的游标

如何在整个项目中找到未关闭的游标,因为现在Androidlint会警告它们可能导致内存泄漏和其他问题? 最佳答案 终于找到方法了!从顶部菜单:AnalyzeInspectcode然后是wholeproject和OK现在等到Androidstudio在您的应用中发现lint问题,然后转到下面的项目并检查未回收的项目是否是Cursor,您也可以将其用于其他已打开但未关闭的资源!Android>Lint>性能然后缺少recycle()调用 关于Android,检测整个项目中打开的游标,我们在S